﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AcademiaInteligenteWeb
{
    public partial class NewEvento : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            int idEvento;
            if (!IsPostBack)
            {
                if (int.TryParse(Request["id"], out idEvento))
                {
                    WsAcademiaInteligente.Evento evento = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().SelecionarEvento(idEvento);
                    txtData.Text = evento.Data.Value.ToString("dd/MM/yyyy");
                    txtDescricao.Text = evento.Descricao;
                }
            }
            //carregaDdlFuncionario();
        }

        protected void carregaDdlFuncionario() 
        {
            ddlFuncionario.DataSource = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().ListarFuncionariosTipoInstrutor();
            ddlFuncionario.DataValueField = "Id";
            ddlFuncionario.DataTextField = "Nome";
            ddlFuncionario.DataBind();

            int idEvento;
            if (int.TryParse(Request["id"], out idEvento)) 
            {
               /* WsAcademiaInteligente.Funcionario funcionario = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().SelecionarInstrutorDoEvento(idEvento);
                if (funcionario != null)
                    ddlFuncionario.Text = funcionario.Id.ToString();
            
                */}
        }
       
        private int retornaIdFuncionarioAlteração() 
        {
            //sabemos que neste caso não poderia ser feita a amarração pelo nome, porém foi necessário devido a urgência em entregar o projeto
            int id = -1;
            List<WsAcademiaInteligente.Funcionario> listaFuncionarios = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().ListarFuncionariosTipoInstrutor().ToList();
            foreach (var item in listaFuncionarios)
            {
                if (item.Nome.Equals(ddlFuncionario.Text))
                {
                    id = item.Id;
                    break;
                }
            }

            return id;
        }

        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            WsAcademiaInteligente.Evento evento = new WsAcademiaInteligente.Evento();
            evento.Descricao = txtDescricao.Text;
            evento.Data = Convert.ToDateTime(txtData.Text);
            evento.Academia = new WsAcademiaInteligente.Academia();
            evento.Academia.Id = Convert.ToInt32(Session[Util.SESSION_ACADEMIA_ID]);//Vincula o evento a academia do evento atual logado

            //id do isntrutor que será associado ao evento em questão
            evento.idFuncionario = Convert.ToInt32(Request[ddlFuncionario.UniqueID]);
            
            int idEvento;
            if (int.TryParse(Request["id"], out idEvento))
            {
                evento.Id = idEvento;
                if (evento.idFuncionario == null) 
                {
                    evento.idFuncionario = retornaIdFuncionarioAlteração();
                }
                new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().AlterarEvento(evento);
            }
            else
            {
                new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().InserirEvento(evento);
            }
            Response.Redirect("MainEvento.aspx");
        }
    }
}